<template>
    <div class="playlist">
        <h3>官方歌单</h3>
        
        <div class="wrapper" ref="wrapper">
            <ul class="content" ref="content">
                <li v-for="item in playlistData" :key="item.content_id">
                    <div class="cover">
                        <img :src="item.cover" alt="">
                        <span>{{(item.listen_num/1000) | numFilter(2)}}万</span>
                    </div>
                    <span>{{item.title}}</span>
                </li>
           </ul>
        </div>
    </div>
</template>

<script>
import axios from 'axios'
import BSroll from 'better-scroll'
export default {
    data(){
        return{
            playlistData:[]
        }
    },
    methods:{
        getPlayList(){
            axios.get("/api/recommend/playlist/u")
            .then(res => {
                // console.log(res)
                console.log(res.data.data.list)
                this.playlistData=res.data.data.list;
                this.betterScrollHorizontal(this.playlistData.length,160)
            })
            .catch(err => {
                console.error(err); 
            })
        },
        betterScrollHorizontal(num,itemWidth){
            let width = num * itemWidth;
            this.$refs.content.style.width = width + "px";
            this.$nextTick(()=>{
                this.scroll = new BSroll(this.$refs.wrapper,{
                    scrollX: true,
                    startY: false,
                    startX: 0,
                    click: true
                })
            })
        }
    },
    mounted(){
        this.getPlayList()
    },
    filters:{
        numFilter(value,num){
           return parseFloat(value).toFixed(num)
        }
    }
}
</script>
<style scoped>
.playlist{
    width: 90%;
    margin: 0 auto;
}
.playlist>h3{
    text-align: left;
}
.wrapper{
    overflow: hidden;
}
ul.content>li{
    display: inline-block;
    width: 160px;
    vertical-align: top;
}
ul.content>li img{
    width: 90%;
    border-radius: 20px;
}
.cover{
    position: relative;
}
.cover>span{
    background-color: grey;
    position: absolute;
    right: 10px;
    bottom: 5px;
    border-radius: 20px;
    width: 100px;
}
ul.content>li>span{
    font-size: 12px;
    display: inline-block;
    width: 90%;
}

</style>